#ifndef LIBAVDECODEDEFINE_H
#define LIBAVDECODEDEFINE_H

typedef enum{
    LibavDecodeStatus_init,
    LibavDecodeStatus_probe,
    LibavDecodeStatus_decode,
    LibavDecodeStatus_fail,
    LibavDecodeStatus_finish,
    LibavDecodeStatus_cancel
}LibavDecodeStatus;

typedef enum{
    LibavDecodeStatus_probe_start,
    LibavDecodeStatus_probe_ing,
    LibavDecodeStatus_probe_finish
}LibavDecodeStatus_probes;

typedef enum{
    LibavDecodeStatus_decode_start,
    LibavDecodeStatus_decodes_ing,
    LibavDecodeStatus_decodes_stop
}LibavDecodeStatus_decodes;

struct LibavStatus{
public:
    LibavDecodeStatus parentStatus;
    int subStatus;

    LibavStatus(){
        parentStatus = LibavDecodeStatus_init;
        subStatus = 0;
    }

    LibavStatus(LibavDecodeStatus ps,int subs){
        parentStatus = ps;
        subStatus = subs;
    }

};
Q_DECLARE_METATYPE(LibavStatus);

typedef struct LibavAutioFormat
{
public:
    int channels;
    int sample_rate;
    int sampleSize;
    int bitRate;

}LibavAutioFormat;

#endif // LIBAVDECODEDEFINE_H
